passthrough: fix some spinlock issues in vmsi
authorKeir Fraser <keir.fraser@citrix.com>
Wed, 11 Mar 2009 10:09:21 +0000 (10:09 +0000)
committerKeir Fraser <keir.fraser@citrix.com>
Wed, 11 Mar 2009 10:09:21 +0000 (10:09 +0000)
commitf6be8835a30d90faebf7275c5be21ef8d8627be8
tree80095673e2928e1547f97e2eaba66f2bdbf5cac2
parent5a039efe118ed8aa338bf02b5d88c1dcae9534b3
passthrough: fix some spinlock issues in vmsi

Apart from efficiency, I hasten to fix the assertion failure.

- acquire pcidevs_lock before calling pt_irq_xxx_bind_vtd
- allocate msixtbl_entry beforehand
- check return value from domain_spin_lock_irq_desc()
- typo: spin_unlock(&irq_desc->lock) ->
- spin_unlock_irq(&irq_desc->lock)
- acquire msixtbl_list_lock with irq_disabled

Signed-off-by: Kouya Shimura <kouya@jp.fujitsu.com>
xen/arch/x86/domctl.c
xen/arch/x86/hvm/vmsi.c